package com.ph.shopping.facade.profit.service;

import java.util.List;

import com.ph.shopping.common.core.exception.BizException;
import com.ph.shopping.common.util.page.PageBean;
import com.ph.shopping.common.util.result.MessageInfo;
import com.ph.shopping.common.util.result.Result;
import com.ph.shopping.facade.profit.entity.UnlineManagerProfit;
import com.ph.shopping.facade.profit.entity.UnlineSupplyChainProfit;
import com.ph.shopping.facade.profit.request.HunterRequest;
import com.ph.shopping.facade.profit.vo.HunterProfitVo;
import com.ph.shopping.facade.profit.vo.UnlineManagerProfitVo;

public interface IProfitService {

	/**
	 * 获取线下订单供应链利润分成列表
	 * @return
	 */
	public Result getUnlineOrderSupplyChainProfitVoList(UnlineSupplyChainProfit unlineSupplyChainProfit,PageBean pagebean);
	/**
	 * 导出线下订单供应链利润分成表EXCEL
	 * @return
	 */
	public Result exportUnlineOrderSupplyChainProfit() throws BizException;
	
	/**
	 * 
	* @Title: insertUnLineOrderProfit
	* @Description: 新增线下订单普惠管理费利润分成数据
	* @author WQiang
	* @date  2017年3月24日 下午5:14:58
	* @param unlineManagerProfit
	* @return
	* @throws Exception	
	 */
	public int insertUnLineOrderProfit(List<UnlineManagerProfit> unlineManagerProfit) throws Exception;
	
	/**
	 * 执行线下订单供应链利润分成(商户与代理商之间)
	 */
	public Result executiveUnLineOrderSupplyChainProfit() throws BizException;
	
	
	//处理管理费分润数据
	public String handlerManagerFee() throws Exception;
	/**
	 * 
	* @Title: queryAll
	* @Description: 查询管理费分润
	* @author WQiang
	* @date  2017年3月27日 下午4:06:59
	* @return
	 */
	public Result queryAll(String orderNo, int pageNum, int pageSize);
	
	/**
	 * 
	* @Title: findAll
	* @Description: 导出管理费
	* @author WQiang
	* @date  2017年3月27日 下午7:00:41
	* @return
	 */
	public List<UnlineManagerProfitVo> findAll(String orderNo);
	
	/**
	 * 执行将商户提现记录表的数据插入到线下订单供应链分润记录表
	 */
	public Result executiveMerchantWithdrawalsIntoUnlineSupplychainProfit();   
	
	/**
	 * 执行将代理商提现记录表的数据插入到线下订单供应链分润记录表
	 */
	public Result executiveAgentWithdrawalsIntoUnlineSupplychainProfit();
	
	/**
	 * 修改线下订单供应链分润审核状态
	 * @return
	 */
	public Result  updateProfitStatues(UnlineSupplyChainProfit unlineSupplyChainProfit);
	
	//查询省
	public MessageInfo queryProvince();
	
	//根据省id查询市
	public MessageInfo queryCity(long areaId);
	
	//根据市id查询区、县
	public MessageInfo queryCounty(long areaId);
	//新增猎头分润数据
	public MessageInfo addHunterProfit(HunterRequest requests);
	//获取省市县列表
	public MessageInfo getAreaList(long townId);
	//获取乡镇列表
	public MessageInfo getTownList(long countyId);
	
	public MessageInfo getProvinces();
	
	public MessageInfo getCitys(long provinceId) throws Exception;
	
	public MessageInfo getCountys(long cityId) throws Exception;
	
	public MessageInfo getTowns(long countyId) throws Exception;
	
	public Result getHunterProfits(int pageNum, int pageSize, String orderNo) throws Exception;
	//审核操作
	public Result audit(long profitId, int status, long id, int tableType, String reason);
	
	public List<HunterProfitVo> exportHunterProfits(String orderNo);
	
	
}
